:doctype: book
:icons: font
:source-highlighter: highlightjs
:toc: macro
:toclevels: 1
:sectlinks:
:linkattrs:



[[rollouts]]
= Rollouts

toc::[]


== GET /rest/v1/rollouts

=== Implementation notes

Handles the GET request of retrieving all rollouts within Hawkbit. Required Permission: READ_ROLLOUT

=== Get paged list of Rollouts

==== Curl

include::{snippets}/rollouts/get-rollouts/curl-request.adoc[]

==== Request URL

include::{snippets}/rollouts/get-rollouts/http-request.adoc[]

==== Request query parameter

include::{snippets}/rollouts/get-rollouts-with-parameters/request-parameters.adoc[]

==== Request query parameter example

include::{snippets}/rollouts/get-rollouts-with-parameters/http-request.adoc[]

=== Response (Status 200)

==== Response fields

include::{snippets}/rollouts/get-rollouts/response-fields.adoc[]

==== Response example

include::{snippets}/rollouts/get-rollouts/http-response.adoc[]

=== Error responses

|===
| HTTP Status Code | Reason | Response Model

include::../errors/400.adoc[]
include::../errors/401.adoc[]
include::../errors/403.adoc[]
include::../errors/405.adoc[]
include::../errors/406.adoc[]
include::../errors/429.adoc[]
|===

== GET /rest/v1/rollouts/{rolloutId}

=== Implementation Notes

Handles the GET request of retrieving a single rollout within Hawkbit. Required Permission: READ_ROLLOUT

=== Get Rollout

==== CURL

include::{snippets}/rollouts/get-rollout/curl-request.adoc[]

==== Request URL

include::{snippets}/rollouts/get-rollout/http-request.adoc[]

==== Request path parameter

include::{snippets}/rollouts/get-rollout/path-parameters.adoc[]

=== Response (Status 200)

==== Response fields

include::{snippets}/rollouts/get-rollout/response-fields.adoc[]

==== Response example

include::{snippets}/rollouts/get-rollout/http-response.adoc[]

=== Error responses

|===
| HTTP Status Code | Reason | Response Model

include::../errors/400.adoc[]
include::../errors/401.adoc[]
include::../errors/403.adoc[]
include::../errors/404.adoc[]
include::../errors/405.adoc[]
include::../errors/406.adoc[]
include::../errors/429.adoc[]
|===

== POST /rest/v1/rollouts

=== Implementation Notes
Handles the POST request of creating new rollout within Hawkbit. Required Permission: CREATE_ROLLOUT

=== Create Rollout with defined amount of groups


==== CURL

include::{snippets}/rollouts/create-rollout/curl-request.adoc[]


==== Request URL

include::{snippets}/rollouts/create-rollout/http-request.adoc[]

==== Request fields

include::{snippets}/rollouts/create-rollout/request-fields.adoc[]

=== Response (Status 201)

==== Response fields 

include::{snippets}/rollouts/create-rollout/response-fields.adoc[]

==== Response example

include::{snippets}/rollouts/create-rollout/http-response.adoc[]


=== Create Rollout with groups definition


==== CURL

include::{snippets}/rollouts/create-rollout-with-groups-definition/curl-request.adoc[]


==== Request URL

include::{snippets}/rollouts/create-rollout-with-groups-definition/http-request.adoc[]

==== Request fields

include::{snippets}/rollouts/create-rollout-with-groups-definition/request-fields.adoc[]

=== Response (Status 201)

==== Response fields

include::{snippets}/rollouts/create-rollout-with-groups-definition/response-fields.adoc[]

==== Response example

include::{snippets}/rollouts/create-rollout-with-groups-definition/http-response.adoc[]


=== Error responses

|===
| HTTP Status Code | Reason | Response Model

include::../errors/400.adoc[]
include::../errors/401.adoc[]
include::../errors/403.adoc[]
include::../errors/405.adoc[]
include::../errors/406.adoc[]
include::../errors/409.adoc[]
include::../errors/415.adoc[]
include::../errors/429.adoc[]
|===

== POST /rest/v1/rollouts/{rolloutId}/approve

=== Implementation Notes
Handles the POST request of approving a created rollout within Hawkbit.
Only possible if approval workflow is enabled in system configuration and rollout is in state WAITING_FOR_APPROVAL.
Required Permission: APPROVE_ROLLOUT

=== Approve Rollout

==== CURL

include::{snippets}/rollouts/approve-rollout/curl-request.adoc[]


==== Request URL

include::{snippets}/rollouts/approve-rollout/http-request.adoc[]


=== Response (Status 200)

==== Response example

include::{snippets}/rollouts/approve-rollout/http-response.adoc[]

=== Error responses

|===
| HTTP Status Code | Reason | Response Model
include::../errors/400.adoc[]
include::../errors/401.adoc[]
include::../errors/403.adoc[]
include::../errors/405.adoc[]
include::../errors/406.adoc[]
include::../errors/429.adoc[]
|===

== POST /rest/v1/rollouts/{rolloutId}/deny

=== Implementation Notes
Handles the POST request of denying a created rollout within Hawkbit.
Only possible if approval workflow is enabled in system configuration and rollout is in state WAITING_FOR_APPROVAL.
Required Permission: APPROVE_ROLLOUT

=== Deny Rollout


==== CURL

include::{snippets}/rollouts/deny-rollout/curl-request.adoc[]


==== Request URL

include::{snippets}/rollouts/deny-rollout/http-request.adoc[]


=== Response (Status 200)

==== Response example

include::{snippets}/rollouts/deny-rollout/http-response.adoc[]

=== Error responses

|===
| HTTP Status Code | Reason | Response Model
include::../errors/400.adoc[]
include::../errors/401.adoc[]
include::../errors/403.adoc[]
include::../errors/405.adoc[]
include::../errors/406.adoc[]
include::../errors/429.adoc[]
|===

== POST /rest/v1/rollouts/{rolloutId}/start

=== Implementation Notes
Handles the POST request of starting a created rollout within Hawkbit. Required Permission: HANDLE_ROLLOUT

=== Start Rollout


==== CURL

include::{snippets}/rollouts/start-rollout/curl-request.adoc[]


==== Request URL

include::{snippets}/rollouts/start-rollout/http-request.adoc[]


=== Response (Status 200)

==== Response example

include::{snippets}/rollouts/start-rollout/http-response.adoc[]

=== Error responses

|===
| HTTP Status Code | Reason | Response Model
include::../errors/400.adoc[]
include::../errors/401.adoc[]
include::../errors/403.adoc[]
include::../errors/405.adoc[]
include::../errors/406.adoc[]
include::../errors/429.adoc[]
|===

== POST /rest/v1/rollouts/{rolloutId}/pause

=== Implementation Notes
Handles the POST request of pausing a running rollout within Hawkbit. Required Permission: HANDLE_ROLLOUT

=== Pause Rollout


==== CURL

include::{snippets}/rollouts/pause-rollout/curl-request.adoc[]


==== Request URL

include::{snippets}/rollouts/pause-rollout/http-request.adoc[]

==== Response example

include::{snippets}/rollouts/pause-rollout/http-response.adoc[]

=== Error responses

|===
| HTTP Status Code | Reason | Response Model
include::../errors/400.adoc[]
include::../errors/401.adoc[]
include::../errors/403.adoc[]
include::../errors/405.adoc[]
include::../errors/406.adoc[]
include::../errors/429.adoc[]
|===

== POST /rest/v1/rollouts/{rolloutId}/resume

=== Implementation Notes
Handles the POST request of resuming a paused rollout within Hawkbit. Required Permission: HANDLE_ROLLOUT

=== Resume Rollout


==== CURL

include::{snippets}/rollouts/resume-rollout/curl-request.adoc[]


==== Request URL

include::{snippets}/rollouts/resume-rollout/http-request.adoc[]

==== Response example

include::{snippets}/rollouts/resume-rollout/http-response.adoc[]

=== Error responses

|===
| HTTP Status Code | Reason | Response Model
include::../errors/400.adoc[]
include::../errors/401.adoc[]
include::../errors/403.adoc[]
include::../errors/405.adoc[]
include::../errors/406.adoc[]
include::../errors/429.adoc[]
|===

== POST /rest/v1/rollouts/{rolloutId}/triggerNextGroup

=== Implementation Notes
Handles the POST request of triggering the next group of a rollout within Hawkbit. Required Permission: UPDATE_ROLLOUT

=== Trigger next group


==== CURL

include::{snippets}/rollouts/trigger-next-group/curl-request.adoc[]


==== Request URL

include::{snippets}/rollouts/trigger-next-group/http-request.adoc[]

==== Response example

include::{snippets}/rollouts/trigger-next-group/http-response.adoc[]

=== Error responses

|===
| HTTP Status Code | Reason | Response Model
include::../errors/400.adoc[]
include::../errors/401.adoc[]
include::../errors/403.adoc[]
include::../errors/405.adoc[]
include::../errors/406.adoc[]
include::../errors/429.adoc[]
|===

== DELETE /rest/v1/rollouts/{rolloutId} 

=== Implementation Notes

Handles the DELETE request of deleting a rollout within Hawkbit. Required Permission: DELETE_ROLLOUT

=== Deleting a rollout

==== CURL

include::{snippets}/rollouts/delete-rollout/curl-request.adoc[]

==== Request URL

include::{snippets}/rollouts/delete-rollout/http-request.adoc[]

==== Request path parameter

include::{snippets}/rollouts/delete-rollout/path-parameters.adoc[]

=== Response (Status 200)

==== Response example

include::{snippets}/rollouts/delete-rollout/http-response.adoc[]

=== Error responses

|===
| HTTP Status Code | Reason | Response Model

include::../errors/400.adoc[]
include::../errors/401.adoc[]
include::../errors/403.adoc[]
include::../errors/404.adoc[]
include::../errors/405.adoc[]
include::../errors/406.adoc[]
include::../errors/429.adoc[]
|===

== GET /rest/v1/rollouts/{rolloutId}/deploygroups

=== Implementation Notes

Handles the GET request of retrieving all deploy groups of a specific rollout within Hawkbit. Required Permission: READ_ROLLOUT

=== Get Deploy Groups

==== CURL

include::{snippets}/rollouts/get-rollout-deploy-groups/curl-request.adoc[]

==== Request URL

include::{snippets}/rollouts/get-rollout-deploy-groups/http-request.adoc[]

==== Request path parameter

include::{snippets}/rollouts/get-rollout-deploy-groups/path-parameters.adoc[]

==== Request query parameter

include::{snippets}/rollouts/get-rollouts-with-parameters/request-parameters.adoc[]

==== Request query parameter example

include::{snippets}/rollouts/get-rollouts-with-parameters/http-request.adoc[]

=== Response (Status 200)

==== Response fields

include::{snippets}/rollouts/get-rollout-deploy-groups/response-fields.adoc[]

==== Response example

include::{snippets}/rollouts/get-rollout-deploy-groups/http-response.adoc[]

=== Error responses

|===
| HTTP Status Code | Reason | Response Model

include::../errors/400.adoc[]
include::../errors/401.adoc[]
include::../errors/403.adoc[]
include::../errors/404.adoc[]
include::../errors/405.adoc[]
include::../errors/406.adoc[]
include::../errors/429.adoc[]
|===

== GET /rest/v1/rollouts/{rolloutId}/deploygroups/{deployGroupId}

=== Implementation Notes

Handles the GET request of a single deploy group of a specific rollout within Hawkbit. Required Permission: READ_ROLLOUT

=== Get Deploy Groups

==== CURL

include::{snippets}/rollouts/get-rollout-deploy-group/curl-request.adoc[]

==== Request URL

include::{snippets}/rollouts/get-rollout-deploy-group/http-request.adoc[]

==== Request path parameter

include::{snippets}/rollouts/get-rollout-deploy-group/path-parameters.adoc[]

=== Response (Status 200)

==== Response fields

include::{snippets}/rollouts/get-rollout-deploy-group/response-fields.adoc[]

==== Response example

include::{snippets}/rollouts/get-rollout-deploy-group/http-response.adoc[]

=== Error responses

|===
| HTTP Status Code | Reason | Response Model

include::../errors/400.adoc[]
include::../errors/401.adoc[]
include::../errors/403.adoc[]
include::../errors/404.adoc[]
include::../errors/405.adoc[]
include::../errors/406.adoc[]
include::../errors/429.adoc[]
|===

== GET /rest/v1/rollouts/{rolloutId}/deploygroups/{deployGroupId}/targets

=== Implementation Notes

Handles the GET request of retrieving all targets of a single deploy group of a specific rollout within Hawkbit. Required Permissions: READ_ROLLOUT, READ_TARGET.

=== Get Deploy Group Targets

==== CURL

include::{snippets}/rollouts/get-rollout-deploy-group-targets/curl-request.adoc[]

==== Request URL

include::{snippets}/rollouts/get-rollout-deploy-group-targets/http-request.adoc[]

==== Request path parameter

include::{snippets}/rollouts/get-rollout-deploy-group-targets/path-parameters.adoc[]

==== Request query parameter

include::{snippets}/rollouts/get-rollout-deploy-group-targets-with-parameters/request-parameters.adoc[]

==== Request query parameter example

include::{snippets}/rollouts/get-rollout-deploy-group-targets-with-parameters/http-request.adoc[]

=== Response (Status 200)

==== Response fields

include::{snippets}/rollouts/get-rollout-deploy-group-targets/response-fields.adoc[]

==== Response example

include::{snippets}/rollouts/get-rollout-deploy-group-targets/http-response.adoc[]

=== Error responses

|===
| HTTP Status Code | Reason | Response Model

include::../errors/400.adoc[]
include::../errors/401.adoc[]
include::../errors/403.adoc[]
include::../errors/404.adoc[]
include::../errors/405.adoc[]
include::../errors/406.adoc[]
include::../errors/429.adoc[]
|===

== Additional content

[[error-body]]
=== Error body

include::../errors/error-response-body.adoc[]